第二篇為開發環境介紹,Choregraphe在官網有很詳盡的教學,Choregraphe為圖形化介面,可以輕鬆的寫出說話、移動、人臉辨識的程式,而無需寫任何程式碼,當然,較為複雜的功能還是需要,建議新手把基礎介紹的hello world三個部分看完,要更仔細的介紹就看Tutorial。
Choregraphe基礎介紹: What is Choregraphe
Choregraphe Tutorials: Choregraphe Tutorials
上圖為choregraphe環境介面,大概分為八個部分,分別為:
基本的專案執行在hello world 1(Choregraphe基礎介紹網址中)有講解,我主要介紹Box如何設計,從下圖的BOX中開始,在Choregraphe上開發上的好處是能夠看到目前在哪個Box中運作,方便程式設計者掌控系統的流程,每個Box都是一個class,需要設定輸入的資料型態以及輸出的格式並有特定的寫法,從Box中 點右鍵選取Edit box可看到目前box的input/ouput及擁有的變數
我們接著點擊inputs中的中間的藍色方塊,目前選擇的是onStart的input,所以會看到下圖的畫面,對應到的是Box圖左上角黑色箭頭的進入點
其中要修改的為Name、Type跟Nature,Name為你的method名稱,程式碼的method名稱必須與Name一致,input的method必須加上onInput及底線寫為def onInput_yourmethodname(self):
,Type為輸入的資料型態,Nature為輸入點的型態。
Type可設為:
Nature可設為:
以下圖來講解Box的功能設計範例,使用內建的Speech Reco. Box以及為其所對應的內容程式碼講解。
每一個Box的進入點以及離開點都有各自設定好的輸入輸出,其根據不同的輸出資料型態而有不同的顏色,例如Type為String輸出線條為藍色,要輸出的型態以及資料數量都需要預先設定好,否則程式會出現錯誤,或者是沒有接收到應該取得的資料。上圖中的語音辨識進入點會跑到def onInput_onStart(self):
這一行的method開始運作,而如果要接收資料就要在Box那邊設定Type為String,然後程式碼部分改成def onInput_onStart(self, data):
才能夠取得傳輸過來的資料。
以上大概是設計每一個Box的初步流程,在裡面有要求使用麥克風等要透過NAO SDK中宣告變數才能使用ALSpeechRecognition模組以及ALMemory的模組,在透過裡面的methods才能夠開啟語音辨識功能,以上則是choregraphe的Box大致上的開發流程,更多的請找Tutorials。